import Vue from 'vue'
import Vuex from 'vuex'
// 引入持久化插件
import createPersistedState from 'vuex-persistedstate'

Vue.use(Vuex)

export default new Vuex.Store({
  // 1. 存储用户状态（登录信息）
  state: {
    userInfo: {} // 存储用户信息（如 username、id、phone 等，登录成功后赋值）
  },

  // 2. 修改状态的方法（只能通过 mutations 修改 state）
  mutations: {
    // 存储用户信息（登录成功时调用）
    SET_USER_INFO(state, userInfo) {
      state.userInfo = userInfo // 把后端返回的用户信息存入 state
    },

    // 销毁用户信息（退出登录时调用）
    CLEAR_USER_INFO(state) {
      state.userInfo = {} // 清空用户信息
    }
  },

  // 3. 持久化配置：只持久化 userInfo（避免存储无关状态）
  plugins: [
    createPersistedState({
      key: 'userState', // 持久化到 localStorage 的 key 名（自定义）
      paths: ['userInfo'] // 只持久化 state 中的 userInfo 字段
    })
  ]
})